/**
 * 
 */
package platzerworld.kegeln.db.klasse;

/**
 * Schnittstelle zur Tabelle KLASSE. 
 * Die Klasse liefert SQL-Code zur Erzeugung der Tabelle.
 * 
 * 
 * @author platzerg
 */
public final class KlasseTbl implements KlasseColumns {
	
	private static final long serialVersionUID = 7093648886491345534L;

	/**
	 * Name der Datenbanktabelle.
	 */
	public static final String TABLE_NAME = "klasse";

	/**
	 * SQL Anweisung zur Schemadefinition.
	 */
	public static final String SQL_CREATE = "CREATE TABLE KLASSE (_id INTEGER PRIMARY KEY AUTOINCREMENT, klasse_id TEXT NOT NULL, name TEXT NOT NULL, schub TEXT NOT NULL)";

	/**
	 * Standard-Sortierreihenfolge für die Tabelle.
	 * 
	 * Sortiert wird nach NAME absteigend.
	 */
	public static final String DEFAULT_SORT_ORDER = NAME + " DESC";

	/**
	 * SQL Anweisung zur Löschung der Tabelle.
	 */
	public static final String SQL_DROP = "DROP TABLE IF EXISTS " + TABLE_NAME;

	/**
	 * SQL Anweisung für Erzeugung einer Klasse aus den Stammdaten Name.
	 */
	public static final String STMT_KLASSE_INSERT = "INSERT INTO KLASSE " + "(klasse_id, name, schub) " + "VALUES (?, ?, ?)";
	
	/**
	 * SQL Anweisung für Erzeugung einer Klasse aus den Stammdaten Name.
	 */
	public static final String STMT_KLASSE_INSERT_ALL_WITH_ID = "INSERT INTO KLASSE " + "(_id, klasse_id, name, schub) " + "VALUES (?, ?, ?, ?)";

	/**
	 * SQL-Anweisung zur Löschung aller Klassen.
	 */
	public static final String STMT_KLASSE_DELETE = "DELETE from KLASSE ";

	/**
	 * SQL-Anweisung zur Löschung einer Klasse anhand seines Schl�ssewerts.
	 */
	public static final String STMT_KLASSE_DELETE_BY_ID = "DELETE KLASSE " + "WHERE _id = ?";
	

	/**
	 * SQL-Anweisung zur Löschung einer Klasse anhand der klasse_id.
	 */
	public static final String STMT_KLASSE_DELETE_BY_KLASSE_ID = "DELETE KLASSE " + "WHERE klasse_id = ?";

	/** Liste aller bekannten Attribute. */
	public static final String[] ALL_COLUMNS = new String[] { ID, KLASSE_ID, NAME, SCHUB };

	/**
	 * WHERE-Bedingung für ID-Anfrage.
	 */
	public static final String WHERE_ID_EQUALS = ID + "=?";
	
	/**
	 * WHERE-Bedingung für KLASSE_ID-Anfrage.
	 */
	public static final String WHERE_KLASSE_ID_EQUALS = KLASSE_ID + "=?";

	/**
	 * Klasse enthält nur Konstanten. Daher keine Objekterzeugung vorgesehen.
	 */
	private KlasseTbl() {
	}
}
